// 日期格式化过滤器
import Vue from "vue";
import moment from "moment";
import store from "@/store/index";
import {yesOrNo} from "@/common/dict";
import {orgType} from "@/view/auth/dict";
// 日期格式化
Vue.filter('dateFormat', function (value, formatStr = 'YYYY-MM-DD') {
  if (!value) return ''
  return moment(value).format(formatStr)
})
// 日期-时间格式化
Vue.filter('dateTimeFormat', function (value, formatStr = 'YYYY-MM-DD HH:mm:ss') {
  if (!value) return ''
  return moment(value).format(formatStr)
})
/**
 * 时间转化,这里将时间转成了12进制
 * @param {string} value - 源数据,格式应该类似 18:00:00
 * @param {string} [formatStr] 转换格式. 注意 hh意思是12进制时间, HH是24进制时间, A是指显示AM/PM, a是指显示am/pm
 */
Vue.filter('timeFormat', function (value, formatStr = 'hh:mm:ss A') {
  if (!value) return ''
  return moment(value, 'HH:mm:ss').format(formatStr)
})
// 用户格式化
Vue.filter('userFormat', function (userId) {
  // return store.getters.getUserNameById(userId)
  return ''
})
Vue.filter('usersFormat', function (userIds) {
  if (Array.isArray(userIds) && userIds.length) {
    return ''
  }
})
// 组织
Vue.filter('orgFormat', function (orgId) {
  return 'store.getters.getOrgNameById(orgId)'
})
// 多组织转换
Vue.filter('orgsFormat', function (orgIds) {
  if (Array.isArray(orgIds) && orgIds.length) {
    return 'store.state.orgs.filter(org => ~orgIds.indexOf(org.id)).map(org => org.name).toString()'
  }
})
// 是否
Vue.filter('yesOrNoFormat', function (value) {
  return yesOrNo.map[value] || '-'
})
